#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<string>
using namespace std;


class Date
{
public:
    Date(){}

    Date(const string s)
    {
        _year = stoi(s.substr(0, 4));
        _month = stoi(s.substr(4, 2));
        _day = stoi(s.substr(6, 2));
    }

    int GetMonthDay(int year, int month)
    {
        static int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
        if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))
        {
            return 29;
        }
        return a[month];
    }

    bool operator>(const Date& d)
    {
        if (_year > d._year)
            return true;
        else if (_year == d._year)
        {
            if (_month > d._month)
                return true;
            else if (_month == d._month)
            {
                return _day > d._day;
            }
        }
        return false;
    }

    bool operator==(const Date& d)
    {
        return _year == d._year
            && _month == d._month
            && _day == d._day;
    }

    bool operator!=(const Date& d)
    {
        return !(*this == d);
    }

    int operator-(const Date& d)
    {
        bool ret = *this > d;
        Date max, min;
        if (ret > 0)
        {
            max = *this;
            min = d;
        }
        else
        {
            min = *this;
            max = d;
        }
        int n = 1;
        while (min != max)
        {
            n++;
            min._day++;
            if (min._day > GetMonthDay(min._year, min._month))
            {
                min._day = 1;
                min._month++;
                if (min._month == 13)
                {
                    min._year++;
                    min._month = 1;
                }
            }
        }
        return n;
    }

private:
    int _year;
    int _month;
    int _day;
};


//int main() {
//    string year1, year2;
//    int max, min;
//    cin >> year1 >> year2;
//    Date d1(year1);
//    Date d2(year2);
//
//    int ret = d1 - d2;
//    cout << ret << endl;
//    return 0;
//}


#include<vector>

int main()
{
    vector<vector<int>> vv;



    //vector<string> v;
    //// 1
    //string s("xxxx");
    //v.push_back(s);
    //// 2
    //v.push_back(string("sss"));
    //// 3
    //v.push_back("aa");
    //vector<string>::iterator it = v.begin();
    //while (it != v.end())
    //{
    //    cout << *it << " ";
    //    it++;
    //}
    //cout << endl; 

    /*vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    v.push_back(4);
    v.push_back(5);
    v.push_back(5);

    string s("abcd");
    v.insert(v.begin() + 2, s.begin(), s.end());
    vector<int>::iterator it = v.begin();
    while (it != v.end())
    {
        cout << *it << " ";
        it++;
    }*/


    /*vector<int>::iterator pos = find(v.begin(), v.end(), 5);
    if (pos != v.end())
    {
        cout << pos - v.begin() << endl;
    }

    vector<int>::iterator it = v.begin();
    while (it != v.end())
    {
        cout << *it;
        it++;
    }
    cout << endl;*/

    

    return 0;
}















